textview: fix precondition assertions
authorChristian Hergert <chergert@redhat.com>
Tue, 24 Nov 2020 16:29:52 +0000 (08:29 -0800)
committerChristian Hergert <chergert@redhat.com>
Tue, 24 Nov 2020 16:29:52 +0000 (08:29 -0800)
It is a programmer error to call this with a child widget that has not
been placed within the GtkTextView.

Fixes #3386

gtk/gtktextview.c

index 59a4c41a8a918611a3d52287b4ffaf42f39bb527..f038b300accb821157fbe4de9a71e810a3cacef4 100644 (file)
@@ -9289,11 +9289,11 @@ gtk_text_view_move_overlay (GtkTextView *text_view,
 {
   g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
   g_return_if_fail (GTK_IS_WIDGET (child));
-  g_return_if_fail (gtk_widget_get_parent (child) == GTK_WIDGET (text_view));
+  g_return_if_fail (text_view->priv->center_child != NULL);
+  g_return_if_fail (gtk_widget_get_parent (child) == (GtkWidget *)text_view->priv->center_child);
 
-  if (text_view->priv->center_child == NULL)
-    gtk_text_view_child_move_overlay (text_view->priv->center_child,
-                                      child, xpos, ypos);
+  gtk_text_view_child_move_overlay (text_view->priv->center_child,
+                                    child, xpos, ypos);
 }